Introduction

AD2K2 is a tool dedicated to the designers of aircraft for Flight Simulator 2002™, Combat Flight Simulator 2™ and later version of Flight Simulator.

AD2K2 is composed of three parts:

The 3D models that you develop with AD2K2 are saved in files with the 3DM extension. Let us call them 3DM files.

A 3D model is often made up of several 3DM files. One of them is the master project. The other ones are called assemblies. The assemblies are merged in the master project with INSERT instructions.




AD2K2 at a glance

VADesignr.dll and AD2K2.dat

To work properly, AD2K2 requires that the VADesignr.dll and the AD2K2.dat files be present in the AD2K2 directory. If you have downloaded the freeware version, you can use the VADesignr.dll file which is present in the zip package. In that case, the password is simply FREE WARE. If you have a commercial license, a special VADesignr.dll file is sent to you by e-mail as well as a personal password.


When it is started, AD2K2 opens a session of the Graphic Editor. The Graphic Editor window is displayed. It is composed of:

The graphic display panel is used by AD2K2 to draw the model you are working on. The 5-line information window displays some information related to the operation you are currently performing (cursor position, scale, current action, error status). The control bar allows you to quickly modify the main display parameters (current view, scale, graphic panel color...). The temporary panel display area is used by AD2K2 to display the temporary input panels associated to the various menu option.

An independant panel appears in front of the Graphic Editor window. You can drag it wherever you want. It is the sub-assy panel. It is composed of a tool bar and a display panel. The display panel is shared into two columns of sub-panels. Every sub-panel is associated to a sub-assy. When you start a new session of AD2K2, there are just two of them. When there are too many sub-panels, a scrool-bar appears on the right of the panel that you can use to scroll the panel up and down. The sub-assy panel can be hidden and shown again by clicking on the show/hide sub-assy panel button of the Graphic Editor window tool bar.

The Model Tree Editor is launched by clicking on the model tree editor button of the Graphic Editor window tool bar. It is composed of:

A set of buttons on the right of the window allows you to create a new node, delete or modify an existing node and to assign various attributes to a node.

The model tree display panel displays the model architecture as a tree. Each node of the tree can be:

The Project Editor window is launched by clicking on the project editor button of the Graphic Editor window tool bar. It is only available when you are working on a master project. It is composed of:

The instruction display panel displays the code page associated to the main project. If there are too many instructions to be displayed in the instruction display panel, a scrool-bar appears on the right of the panel that you can use to scroll the panel up and down. You can select an instruction by clicking on it. You can extend your selection by clicking on another instruction while pressing the SHIFT key. Each instruction line is composed of three fields : the label field to the left, the code field in the center left, the data field to the right. There is a margin at the very left of the display panel which displays such information as undefined addresses with blue dots.The Model Editor window status bar is composed of two fields : on the left, the number of instructions and the currently selected instruction rank are permanently displayed while the other field is only used to give an error status.

The sub-assy code window can be opened from the sub-assy panel. To open the sub-assy code window from the sub-assy panel, select a non basic sub-assy and click on the open instruction window button of the sub-assy panel tool bar. The sub-assy code window is composed of a tool bar (1), an instruction display panel (2), a color selection area (3) and a status bar (4). You can select an instruction by clicking on it. You can extend your selection by clicking on another instruction while pressing the SHIFT or the CTRL key.

Other windows are displayed at one time or another in front of the current main window. They are used to input data or select options. The more frequently used windows are:

Most of the Graphic Editor data inputs are performed through temporary input panels displayed in the temporary panel display area. The more frequently used panels are:

Some of the operations performed with the Graphic Editor combine data input in a temporary panel and click-and-drag operations in the graphic display panel (vertex creation, vertex capture, alignment on a vertex, vertex displacement).

AD2K2 and AD2000 compatibility

Because the FS2002 standard is very different from the FS98/2000 one, AD2K2 is not fully compatible with AD2000. It means that you can open a file that you have designed with AD2000 but that not all the data are loaded. The 3-D model is loaded and all the polygons are splitted into triangles but the sub-assy code pages and the assembly code page are lost. At the sub-assy level, the reason is obvious : the AD2K2 sub-assy code is cleared from all non-basic instructions. At the assembly code page level, you have to consider that a lot of AD2000 instructions are obsolete (just because a lot of FS98/FS2000 BGL instructions are obsolete). Should the assembly code page be loaded, these instructions would be scrapped and the whole code page would be upset. That is the reason why it was decided not to retrieve the assembly code page when loading an AD2000 file. By the way, the most important part of you job is the 3-D model, isn't it ?



The 4 levels of AD2K2

AD2K2 can be considered as a 4-level program :

A project is composed of one or several assemblies. Each assembly and the project are saved in a separate file. An assembly is composed of several sub-assies, each sub-assy is made up of chains. Let us consider these 4 different levels.

The Chains (of vertices)

These are the polygons and the lines that compose the 3D model. The lines are special chains which can be found in the "Lines" sub-assy (see hereafter). The triangles are the only polygons which are processed by the FS viewer. The other polygons are automatically given the "hidden" attribute.

Tip : A triangle can also be given the hidden attribute not to be processed by the FS viewer (Chain/Edit chain menu option, hidden check-box). The hidden chains are drawn in blue in the graphic display panel. You can select not to show the hidden chains in the graphic display panel by unchecking the show hidden chains check-box in the sub-assy panel tool bar.

Tip : To create a chain (a polygon or a line), use the Chain/New chain menu option or click on the create chain button of the tool bar. A chain is defined by its vertices that you can input by clicking on the graphic display panel or by entering numeric values in the chain editor. Validate by clicking on the poly button in the chain editor or on the end capture mode button of the tool bar.

A visible chain is oriented, which means it is only visible from one side. The chain orientation depends upon the order of its vertices. To flip a chain, use the Draw/Flip chain menu option.

Sub-assies

A sub-assy is a set of chains. There are several kinds of sub-assy.

The sub-assy panel of AD2K2 displays all the attributes of the existing sub-assies.

 Tip : The AD2000 sub-assy bar is replaced by a sub-assy panel. The sub-assy panel can be concealed by clicking on the close-the-window cross in the top-right corner of the panel. To bring back the panel on the top of the Graphic Editor display stack, click on the show sub-assy panel button of the tool bar. The sub-assy panel is composed of a tool bar and a set of sub-panels. Each sub-panel is dedicated to a different sub-assy and displays the attributes of the sub-assy. If you don't see the sub-panel of an existing sub-assy on the panel, use the vertical scrollbar at the right of the panel.

A sub-assy can be given the hidden attribute. The hidden attribute of a sub-assy overrides the visibility attribute of its polygons. To check/uncheck the hidden attribute of a sub-assy, click on the small "spectacles" button of the sub-assy sub-panel. To conceal (show) the hidden sub-assies on the AD2K2 graphic display panel , click on the hide hidden sub-assies/show the hidden sub-assies button of the tool bar of the sub-assy panel.

 Tip : The AD2K2 sub-assies are different from the AD2000 sub-assies. There were two kinds of AD2000 sub-assies : simple and textured. Then, the AD2000 sub-assies were embedding a code page supporting a lot of different instructions (various tests, texture and color assignment, branching instructions). A single AD2000 sub-assy could be assigned several different textures as well as coloured polygons. Moreover, AD2000 was supporting non-triangle polygons and lines. The AD2K2 sub-assy is much simpler. It is assigned a single texture or a colour. Polygons which are not triangles are not visible. There is no line (except in the "Lines" sub-assy which comprises only lines). Eventually, the sub-assy code page is quite simple (see hereafter). AD2K2 sub-assies are easier to handle while AD2K2 offers more powerful features than AD2000.

When you start a new project (or a new assembly), the "Desk" and the "Lines" sub-assies are automatically created. They cannot be deleted. They are the only existing sub-assies at the beginning. They are called the basic sub-assies. To create a new sub-assy, use the Sub-Assy/New sub-assy menu option or the create a sub-assy button of the sub-assy panel. Give the sub-assy a name and a short description and validate. The sub-assy you have just created is automatically selected and you can start to create polygons in it.

An important feature of a sub-assy is that all its polygons are assigned the same texture or the same color. To assign a color attribute to a sub-assy, select the color option in the combo-box of the sub-assy sub-panel on the sub-assy panel. To assign a texture to a sub-assy, select the texture file name in this combo-box. The default attribute of a sub-assy is undefined. You can keep it as long as you do not compile the model. Compiling a model with undefined sub-assies will result in a compilation error.

Tip : Prior to assign a texture to a sub-assy, you need to declare it. To declare a texture, click on the fill texture list button of the sub-assy panel and then open the given texture file.

Tip : To select a sub-assy, click on the button figuring a red or a green light in the sub-assy sub-panel of the sub-assy. A red button means that the sub-assy is not selected, a green one means that it is selected. Selecting a chain on the graphic display panel will automatically select the parent sub-assy.

Click on the open instruction window button of the sub-assy panel to open the sub-assy code window of the selected sub-assy. The sub-assy code window displays a list of code instructions.


There are only 5 different code instructions available at the sub-assy level : the TRIANGLE instruction, the HIDDEN instruction, the RETURN instruction, the LIMITS instruction (if it is a textured sub-assy) and the COLOR instruction (if it is a colored sub-assy). Each TRIANGLE or HIDDEN instruction is linked to a polygon of the sub-assy. You can change the position of any of these TRIANGLE or HIDDEN instructions in the list but you cannot delete them. The RETURN instruction cannot be removed nor displaced. The first instruction of the list is a LIMITS instruction or a COLOR instruction (depending upon the kind of sub-assy: textured or colored). It cannot be removed nor displaced. You can insert other LIMITS instructions wherever you want in the list in case of a textured sub-assy. Select an instruction in the list and click on the insert a texture limit instruction button of the tool bar.

Tip : To change the position of an instruction, click on it to select it and use the move button in the tool bar of the sub-assy code window. You can select several instructions by pressing the shift or control key while clicking on the instructions.

Tip : If you have stored several polygons of a sub-assy in the multiple selection buffer, the related instructions appear as selected when you open the sub-assy code window.

Tip : A texture instruction shapes a given texture on a virtual rectangle called "texture support". This shape defines a frame within which the texture (or a portion of the texture) is seen. This frame applies to the triangles following the texture instruction in the sub-assy code list. A texture support is a virtual rectangle used to define the orientation and the frame within which a texture is applied to the model. A texture support can be assigned 6 different orientations : right, left, top, bottom, fore, aft. The vertices of the virtual rectangle are such as to encompass a given polygon into this rectangle when the polygon is looked at from the appropriate direction. To declare a texture support, go to the Graphic Editor, select a polygon and activate the Utilities/Define chain as support menu option.

Tip : While in the sub-assy code window, you can declare new textures. Click on the select a texture button in the tool bar to call the texture dialog box. You can open new texture files if you want. Select a texture file from the list to assign it to the sub-assy you are working on and validate.

When it first appears, a texture instruction is undefined. You need to assign it a texture support. To do that, double-click on the instruction in the list. A texture support selection panel is displayed. To select an existing texture support (see here above how to declare a texture support), cycle through the texture support list by clicking on the arrow buttons. Select the appropriate orientation with the dedicated buttons. Validate to go back to the sub-assy code window.

You can just assign a portion of the texture to a given texture support. To do that, click on the limits button while in the texture support selection panel. Then click somewhere in the texture display sub-panel to define the left/top corner. Click on the small OK button to validate then click another time in the texture display sub-panel to define the right/bottom corner. Click another time on the OK button : the rectangle drawn in red defines the area which is affected to the given texture support.

Assembly

It can be considered from two different points of view. Taking a bottom-up approach, you will see it as a set of sub-assies. From the project point of view, it is a file that can be compiled and merged with other files to create the 3D model. Let us summarize what we know about AD2K2 : an AD2K2 3D model is based on triangles, lines and ancillary polygons that are stored into sub-assies. To make an assembly of this stuff and save it you just need to give it a name. Select the File/Rename menu option. Uncheck the master project checkbox, enter a name and a short description and then validate. Here we are : you need nothing more to create an assembly. To save it, select the File/Save as menu option, give a name to the file to be created and validate.

Actually, you can do more than data saving at the assembly level. The assembly is the level at which are achieved the animations. To create an animation, you need to get accustomed with the Model Tree Editor. To open the Model Tree Editor, click on the model tree editor button on the tool bar. The model tree editor window is displayed which lists the assembly code page. Please refer to the Model Tree Editor application note to learn more about it.

There are two ways to achieve an animation.
The first one uses the former animation standard of FS (FS98, FS2000 and CFS1). It is called "basic animation" in AD2K2. Though it is basic, it is not very easy to implement because it requires to decompose any motion into elementary operations (translation, then rotation, then animation and eventually translation/rotation). It uses vectors.
The second one is much more powerful. Is is called "complex animation" and was first implemented with CFS2 and then FS2002. It allows for animated translation as well as complex rotation. It uses the concept of "hinge". Once you understand what's behind the hinge concept, creating a complex animation becomes a piece of cake.

Definition : A hinge is defined by a pair of points. Basically, this pair of points is the hinge axis around which is geared the animated rotation. A hinge can be created from a pair of vertices. To do this, activate the Utilities/Define a hinge menu option. The hinge temporary input panel is displayed on the right of the Graphic Editor window. Select a vertex by clicking on it in the graphic display panel. Validate by clicking on the small OK button. Select another vertex by clicking on it in the graphic display panel then validate by clicking again on the small OK button. The axis in line with the two selected vertices is defined as a hinge and put into the hinge list. It is now available for any animated rotation.

To create a "basic animation", please refer to the dedicated application note. The following will show you how to create a "complex" animated rotation applying to a sub-assy. I assume you have already created a sub-assy (let's call it MYSUB) and a few chains into it. One of these chains is probably in line with the hinge of the animated rotation you want to perform. Let's create a hinge from this chain.

Tip : An animation can involve a single sub-assy, a set of several sub-assies or a set of animated sub-assies. Indeed, you can combine several level of animations in order to achieve a very complex animated motion.

Open the Model Tree Editor. Select the root node (the node with the icon) on the model tree display panel. Click on the add button. Select the animation option in the node selection window and validate by clicking on the OK button. Back to the model tree editor window, select the animation node you have just created. It is displayed with a pink color which signals it is undefined. Click again on the add button and create a sub-assy node. Back to the model tree editor window, you can see that the sub-assy node you have created is a child node of the animation node and that it is also displayed with a pink color. Select the sub-assy node and click on the properties button. The sub-assy selection window is displayed. Select the MYSUB sub-assy and validate. Now the sub-assy node is displayed with a yellow color and it is assigned the "MYSUB" caption.

The animation needs to be defined properly. It must be assigned:

  • an animated part,
  • an animation block.

An animation block is a set of data which fully defines the motion performed during the animation sequence. The animation block format depends upon the kind of animation it is associated with. A translation requires a set of three curves, one for the x coordinate, one for the y coordinate and one for the z coordinate. Each curve describes the way the related coordinate is evolving with respect to the animation parameter. A rotation is based on a hinge and a single curve which describes the way the rotation angle is evolving with respect to the animation parameter. The animation parameter is an integer within the range of 0 to 200. In the spoiler animation case, 0 is associated with the spoiler fully retracetd position, 200 with the fully extended position. The intermediate positions are associated with the values in between.

Tip : The gear animation parameter operates in a special way. The 0 to 100 range is dedicated to the gear motion, the 101 to 200 range is dedicated to the suspension animation.

AD2K2 allows you to define animation curves and animation blocks and to re-use them as many time as you want inside your assembly. To define an animation block, select the animation node in the model tree editor and click on the properties button. The animation block editor window is displayed.

It is composed of a part selection sub-panel on the left and of the animation block editor itself on the right. Select the right spoiler radio button and have a look at the animation block editor. At the moment, it is simply composed of a block selection sub-panel. As there is no existing animation block, the block selection box is empty. Click on the new button and enter a name (let's go for MYROT for the training). As we want to define a rotation, select the rotation option. Validate. The animation block editor panel evolves to display a curve selection sub-panel and a hinge selection sub-panel. Click on the small blue button of the hinge selection panel. As we have defined at least one hinge, it will be displayed in the sub-panel. You can reverse the direction of the rotation by clicking on the reverse button.

Now click on the new button in the curve selection sub-panel. Enter a name (let's go for MYANGLE) and validate. The curve display window now displays the created curve : it is flat... meaning there will be no motion ! To modify the curve, click on the edit button. The curve editor panel is now displayed.

In the right sub-panel, there is an array which displays the curve building points. At the initialization, the curve is flat and there are just two building points. Select the second one and click on the insert button. Enter a set of coordinates in the lower left sub-panel or click somewhere in the curve display window. Validate and create another point. The curve now appears as a zig-zag. That's not fine ? Check one of the adjust tangent check-box in the lower left sub-panel. The curve shape is now rounded. You can adjust the slope of the round by entering a new value in the dedicated data field. Validate by clicking on the OK button. You can define up to 15 buiding points. Exit the curve editor by clicking on the OK button. The small curve display window in the curve selection sub-panel is updated to display the shape of the curve you have just defined. If you are not happy with this shape, you can modify it by clicking again on the edit button.

Tip : You can adjust the scale by entering new ymin and ymax values in the dedicated data fields to the right/bottom of the curve editor panel. You can also have AD2K2 select the scale for you by checking the autoscale check-box.

Tip : Giving a name to the animation data block and to the curve allows you to recall them and assign them to other complex animation nodes or, for the curve, to other animation data blocks. There is a drawback to this feature. As the animation data blocks and the curves are independant objects (which means they are not dedicated to a node or to an animation block), you should be cautious when you modify them. A modification to an animation block applies to all nodes using it. A modification to a curve applies to all animation blocks using it.

Click on the OK button of the animation editor panel to validate and exit the editor. Look at the node : it is now displayed with a grey color and the node attribute window lists the basic parameters of the animation.

The purpose of an assembly is to be merged into a project (see below). To be merged into a project, an assembly needs to be compiled. The compilation is launched from the Model Tree Editor by clicking on the compile button. A small compilation option window is displayed : validate the default options by clicking on the OK button. If the compilation is successful, a *.MD1 file is created into the AD2K2 project directory. If it is not, an error panel is displayed listing the compilation errors.

Project

This is the highest level of an AD2K2 model. A project is a kind of two-layer assembly. The first layer is an assembly. The second layer is a code page that allows you to merge other assemblies with the project assembly and to implement some specific features.

To create a project, let's start with an existing assembly. Select the File/Rename menu option. This time, check the master project checkbox, give the project a name and a short description and validate. The assembly is now the core of a project. Open the Project Editor by clicking on the button of the tool bar. The project code page is displayed.

At the main code page level, the available instruction set is restricted :

  • The INTERNAL VIEW instruction allows you to assign a dedicated assembly to this view.
  • The INSERT MAIN ASSY instruction branches to the main assembly. It cannot be deleted.
  • The MODEL SIZE instruction is a conditional jump. It depends on the model size scaled in pixels.
  • The CALL ASSEMBLY instruction calls an assembly defined in another file.
  • The INSERT ASSEMBLY instruction merges an assembly defined in another file.

CALL MODULE, GO LABEL, RETURN and COMMENT instructions are also available at the main code page level.

Tip : What's the difference between a CALL ASSEMBLY and an INSERT ASSEMBLY ? It's a matter of how it is processed by the viewer. The INSERT ASSEMBLY merges the assembly as it is. Once it has been processed by the FS viewer, the execution is resumed at the instruction just following the INSERT ASSEMBLY instruction. The CALL ASSEMBLY acts as a module call. A virtual RETURN instruction is added at the end of the process. It means that the execution is resumed at the instruction just following the nearest module call instruction preceding the CALL ASSEMBLY.
<exemple>

Tip : To assign an assembly to a CALL ASSEMBLY, an INSERT ASSEMBLY or an INTERNAL VIEW instruction, double-click on the data field of the instruction. The assembly selection panel is displayed. To be available for selection, an existing assembly must have been successfully compiled.

The last step in the project design process is the compilation. Compiling a project is quite as easy as compiling an assembly. While in the Project Editor, click on the compile button of the tool bar. The small compilation option window is displayed : validate the default options by clicking on the OK button. Another window is displayed : it is the aircraft config file window. If you click on the create button, AD2K2 creates an aircraft.cfg file and a model.cfg file. These files comprise the very minimum option required for an aircraft to be installed with FS.

Caution : The aircraft.cfg created by AD2K2 is a very basic file. It supports no animation. To complete this file in order to implement some kind of animation, you have to edit it. To get more details on the aircraft, please refer to the AIRCRAFT CONTAINER software development kit (SDK) available on the web site of the Flight Simulator version you are working for.

This environment can be greatly improved by adding night and dusk texture directories and by tweaking the config files. To do that properly, please refer to the dedicated SDK file that is available on the FS web site. Once this environment is created, you can use it as it is unless you want AD2K2 to overwrite it. To use it as it is, click on the keep button. If you click on the keep button while the FS environment is not properly created, an error will occur.

Caution : Unlike AD2000, AD2K2 does not copy the texture files into the texture directory of the model. You need to do it by yourself. It should not be that difficult...

If the compilation is successful, the project *.MDL file is created into the model directory. If it is not, an error panel is displayed listing the compilation errors. If there are too many compilation errors, you can recompile the project with the create text file option selected in the compilation option window. A *.cod file is then created into the AD2K2 project directory which records all the compilation events.

When you design an aircraft model, you split it into several major parts : wings, fuselage, tail, cabin... The most appropriate use of the assembly/master project feature is to assign each assembly, or the master project, to one of these major parts.
Inside an assembly, you go into more details. For instance, the wing of a twin turboprop is composed of the wing itself, the aileron, the flap, the engine,the prop, possibly a retractable gear with one or several wheel(s)...
AD2K2 handles these sub-parts through the concept of sub-assy (as a contraction of sub-assembly). The sub-assies are the basic components of a model.
An assembly, or the master project, is a set of sub-assies.


Project, assemblies and sub-assies

Note : Actually, it is up to you to define the most convenient breakdown of the aircraft into assemblies and sub-assies. A functional breakdown (fuselage, wings, canopy, rudder, undercarriage...) seems a very natural way to do it but you will learn quickly how to take into account some visual constraints to refine it. Any way : the more detailed the aircraft, the more assemblies and sub-assies you need.




More about with AD2K2

You can find more about AD2K2 at http://www.actpub.com/. You can also simply click on :


You will find on this site the latest update of the program, or of the AD2K2.DAT file, as well as some aircraft built with it.

Send your mails at info@actpub.com.



Printing the tutorial

To print this tutorial, launch Windows Explorer, go into the "data" sub-directory of the "Tutorial" directory. Then open each of the "AD2K2Topic*.htm" file with your Internet browser in order to print them.



Compatibility

AD2K2 is compatible with FS2002™ and CFS2™. Until now, it is not compatible with CFS3™.



aircraft.cfg file

To take fully advantage of the animation features provided by AD2K2, you must set properly the aircraft.cfg file of your model. This file is to be installed in the aircraft directory in Flight Simulator. It is a text file that can be edited with any text editor. It is composed of different sections, each of this section describing a different feature of the aircraft. For instance, when the aircraft is fitted with flaps, the aircraft.cfg file must comprise the following section:
[flaps.0]
type=1                       // 1 - tail, 2 - lead
span-outboard=0.125          // 0.0 .. 1.0
extending-time=5             // seconds
flaps-position.0=0           // degrees, KIAS
flaps-position.1=16          // degrees, KIAS
flaps-position.2=32          // degrees, KIAS
flaps-position.3=48          // degrees, KIAS
flaps-position.4=64          // degrees, KIAS
flaps-position.5=80          // degrees, KIAS
damaging-speed=201           // KIAS
blowout-speed=305            // KIAS

The blue data are given for the sake of the example. They are to be trimmed according to the characteristics your aircraft.

Be cautious, if the related section is absent from the aircraft.cfg file, the animation will not be performed. Let us take another example. If you are designing an aircraft with a tail hook, you must add a [TailHook] section in the file:
[TailHook]
tailhook_length=4                        //(feet)
tailhook_position = -15.0, 0.0, -1.0     //(feet) longitudinal, lateral, vertical positions from datum
cable_force_adjust = 1.0

(blue data to be set to fit your model).

To get more details on the aircraft.cfg file, please refer to the AIRCRAFT CONTAINER software development kit (SDK) available on the web site of the Flight Simulator version you are working for.



Claimings
This program is an add-on program for use in addition to the original Flight Simulator 2002™ and Combat Flight Simulator2™. Flight Simulator 2002™ and Combat Flight Simulator 2™ are trademarks of Microsoft®. The following claims are not intended to conflict with any copyrights of these programs. Aircraft Designer 2002 is merely intended and designed to enhance the enjoyment of these programs by bona-fide purchasers of them. It is called AD2K2 in the following.

If you download AD2K2 in its freeware version, you may use it for your own entertainment. If you want to use it in order to design aircraft in a commercial purpose, you must be entitled with a commercial license. As a commercial licensed user, you will be given a technical support. This license gives you the right to use AD2K2. It does not give you any copyright on AD2K2.

This program was tested on several personal computers : there is no reason to expect any malfunction of this program with a conventional configuration of PC. Nethertheless, the copyrights owners of AD2K2 accept absolutely no liability for any direct or indirect disruption of systems, hardware or software through direct or indirect use or misuse of AD2K2. The copyrights owners of AD2K2 do not accept any liability for any consequential damages whatsoever, including loss of business profits, business interruption or pecuniary loss, arising out of the use of or inability to use AD2K2. The copyrights owners of AD2K2 do not accept any liability for any consequential damages whatsoever, including loss of business profits, business interruption or pecuniary loss, arising out of their inability to provide support services. In any case, the copyrights owners liability is limited to the amount of actually paid by you for the AD2K2 license.

If you suspect a malfunction of your PC due to the installation and use of AD2K2, remove it from your hard-disk ! In that case, do not hesitate to contact us : we'll try to help you to solve your problem... if we can. We are not specialists of PC, just flight simmers.


copyright Hervé Devred, 2003